协程方式向文件写入数据。
function Coroutine::fwrite(resource $handle, string $data, int $length = 0);
需要
2.0.11
或更高版本
$handle
文件句柄,必须是fopen
打开的文件类型stream
资源$data
要写入的数据内容,可以是文本或二进制数据$length
写入的长度,默认为0
,表示写入$data
的全部内容,$length
必须小于$data
的长度
写入成功返回数据长度,失败返回false
4.0.4
以下版本fwrite
方法不支持非文件类型的stream
,如STDOUT
、Socket
,请勿使用fwrite
操作此类资源。
4.0.4
以上版本fwrite
方法支持了非文件类型的stream
资源,底层会自动根据stream
类型选择使用AIO
线程池或EventLoop
实现。
use Swoole\Coroutine as co;
$fp = fopen(__DIR__ . "/test.data", "a+");
co::create(function () use ($fp)
{
$r = co::fwrite($fp, "hello world\n", 5);
var_dump($r);
});